Add an RSS feed of new patterns, with ORCID author links#144
Merged
Conversation
This was referenced May 25, 2026
ee1b07b to
4780eb6
Compare
4780eb6 to
ed9f013
Compare
The feed lists each pattern by first-publication date and credits every author with a clickable link to their ORCID profile. Subscribers can find it via the Material-emitted autodiscovery <link> tag, the new "Stay in the loop" section on the home README, or the subscribe line on every author page. How it works: - mkdocs-rss-plugin (pinned in .config/requirements.txt) generates the feed; filenames are left at the plugin defaults so Material's hard- coded autodiscovery URLs resolve correctly. - .config/hooks/authors.py enriches each pattern's page metadata so the plugin sees real author names and an ORCID-linked attribution body. After build, the same hook post-processes the generated XML for spec compliance: <author> → <dc:creator>, item-level <description> wrapped in CDATA so the ORCID anchor tags render in feed readers, the self- referencing <source> element dropped, and unescaped categories (e.g. "Education & Skills") re-escaped to keep the feed well-formed. - authors.yml entries are now validated at build time. Slugs, names, affiliations, and ORCIDs must match strict regexes; any HTML-tag character in a name or affiliation fails the build. This closes a stored-XSS hole that would otherwise let a malicious PR inject script via author metadata. Follow-ups to file as separate GitHub issues: 1. Broader feed coverage — per-tag feeds, an Atom variant, and a JSON Feed mirror so modern readers (NetNewsWire, Feedbin) have a first-class option. 2. Scholarly identifiers — DOIs per pattern via Zenodo, ROR IDs for affiliations, and surfacing both in the feed metadata so scholarly graph crawlers (OpenAlex, CrossRef) can ingest the catalogue. 3. Tests + UX iteration — unit tests for the authors hook (the pre-merge review surfaced concrete failure cases worth pinning), an RSS icon for the subscribe affordance, consistent wording across the three subscribe surfaces, and revisiting the per-author placement which currently sits below the patterns list. Stacked on top of #141 (author pages) and #142 (ORCID iD icon).
8e1d2ee to
658fd82
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builds on top of #142.
What this changes
The site now publishes an RSS feed of new patterns at
/feed_rss_created.xml. RSS is the open standard that lets people add a website to a "feed reader" (Feedly, NetNewsWire, Inoreader, even some email clients) and get a notification whenever something new is published — like a podcast subscription, but for articles.Each item in the feed includes:
How readers find it
Three ways:
/authors/ciara-flanagan/).What this doesn't change
authors:frontmatter andauthors.ymlthat Make an index of authors #89 #141 introduced — you don't need to do anything new.authors.ymlsimply appear in the feed without a link, the same way they do on pattern pages.One thing worth flagging to contributors
CONTRIBUTING.mdhas been updated to say this explicitly, but: a contributor's ORCID, if they provide one, will now travel further than before — it appears in every RSS item for every pattern they've co-authored, not just on the pattern page itself. It's still the same ORCID iD they're already publishing on their profile, and it's still optional, but it's worth being upfront about. Anyone uncomfortable with that can simply leave theorcid:field out of their entry.What to click on the preview site
/— scroll past the patterns listing to "Stay in the loop"; click the RSS feed link./feed_rss_created.xmldirectly — this is the raw feed (XML). It's not designed for humans, but a quick check that it loads and that author names appear is reassuring./authors/ciara-flanagan/— scroll to the bottom; the subscribe line is below the patterns list.Stacking
This PR stacks on top of #142, which stacks on top of #141. Please merge #141 first, then #142, then this one — once each is in, the next rebases automatically onto
main.Follow-ups (already filed as separate issues)
A pre-merge review surfaced three useful improvements that are bigger than this PR and are tracked separately so they don't block this one merging:
🤖 Generated with Claude Code